home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 018 / amigadisplay / sail-8.asm < prev    next >
Assembly Source File  |  1995-03-17  |  5KB  |  169 lines

  1. ; SAIL-8.ASM           FONT Creation file
  2.  
  3.  INCLUDE "exec/types.i"
  4.  INCLUDE "exec/nodes.i"
  5.  INCLUDE "libraries/diskfont.i"
  6.  
  7. FIRSTCHAR SET $20
  8. LASTCHAR  SET $9F
  9. YSIZE     SET 8
  10.  
  11.    MOVEQ #0,D0  in case anybody tries to execute this file
  12.    RTS
  13.  
  14.    DC.L 0
  15.    DC.L 0
  16.    DC.B NT_FONT
  17.    DC.B 0
  18.    DC.L fontName
  19.    DC.W DFH_ID
  20.    DC.W 1
  21.    DC.L 0
  22. fontName:
  23.    DS.B  MAXFONTNAME
  24. font:
  25.    DC.L 0
  26.    DC.L 0
  27.    DC.B NT_FONT
  28.    DC.B 0
  29.    DC.L fontName
  30.    DC.L 0
  31.    DC.W fontEnd-font
  32.    DC.W 8
  33.    DC.B 0
  34.    DC.B FPF_DESIGNED
  35.    DC.W YSIZE
  36.    DC.W 6
  37.    DC.W 1
  38.    DC.W 0
  39.    DC.B FIRSTCHAR
  40.    DC.B LASTCHAR
  41.    DC.L fontData
  42.    DC.W (fontLoc-fontData)/YSIZE
  43.    DC.L fontLoc
  44.    DC.L 0
  45.    DC.L 0
  46.  
  47. fontData:
  48.    DC.L $00306C6C,$10003818,$18600000,$00000003
  49.    DC.L $78307878,$1CFC38FC,$78780000,$00000078
  50.    DC.L $7C10FC3C,$F8FEFE3C,$C6FC0EE6,$F082C638
  51.    DC.L $FC38FC7C,$FCC6C6C6,$C6CCFE78,$C0783000
  52.    DC.L $3000E000,$1C003800,$E0300CE0,$70000000
  53.    DC.L $00000000,$20000000,$0000001C,$30E076F0
  54.    DC.L $CC300000,$00000000,$60FCC00E,$30700000
  55.    DC.L $00000000,$C6FE0008,$00001004,$00000000
  56.    DC.W $2000,0
  57. *  extra word is required (undocumented restriction: modulo must be 0 mod 4)
  58.  
  59.    DC.L $00786C6C,$7EC66C18,$30306C30,$00000006
  60.    DC.L $CC70CCCC,$3CC060CC,$CCCC0000,$0E00E0CC
  61.    DC.L $C6386666,$6C666666,$C6300666,$60C6E66C
  62.    DC.L $666C66C6,$B4C6C6C6,$6CCCC660,$60187820
  63.    DC.L $30006000,$0C006C02,$60000060,$30000000
  64.    DC.L $00000000,$60000000,$00000030,$3030DCD8
  65.    DC.L $EC300038,$10003C7E,$3030C01B,$30C00078
  66.    DC.L $3EF87CC6,$C606380C,$0008380C,$0EE0FEC6
  67.    DC.W $3000,0
  68.  
  69.    DC.L $00786CFE,$D0CC6830,$60183830,$0000000C
  70.    DC.L $DC300C0C,$6CF8C00C,$CCCC3018,$38FC380C
  71.    DC.L $DE3866C0,$666060C0,$C630066C,$60EEF6C6
  72.    DC.L $66C666E0,$30C66CC6,$38CC8C60,$3018FC60
  73.    DC.L $18786C78,$6C78607C,$6C700C66,$30CCD878
  74.    DC.L $DC7AEC7C,$F8CCCCC6,$C6CCFC30,$303000F0
  75.    DC.L $DC30006C,$380060EC,$1830C018,$FCC06C0C
  76.    DC.L $E00EC6C6,$FE066CFE,$000C6CFC,$3838006C
  77.    DC.W $3800,0
  78.  
  79.    DC.L $0030006C,$7C187600,$6018FEFC,$00FC0018
  80.    DC.L $FC303838,$CC0CF818,$787C3018,$E0000E18
  81.    DC.L $D66C7CC0,$667878CE,$FE300678,$60FEDEC6
  82.    DC.L $7CC67C38,$30C66CD6,$38781860,$181830FE
  83.    DC.L $000C76CC,$DCCCF0CC,$76300C6C,$30EEECCC
  84.    DC.L $66CC76C0,$60CCCCD6,$6CCC98E0,$301C00DF
  85.    DC.L $CC30766C,$6CFCFC6C,$1C3EFF18,$307ED67C
  86.    DC.L $C006C6C6,$C6FED62C,$00FEC630,$E00EFE38
  87.    DC.W $3E00,0
  88.  
  89.    DC.L $003000FE,$1630DC00,$60183830,$00000030
  90.    DC.L $EC30600C,$FE0CCC30,$CC0C0000,$38FC3830
  91.    DC.L $DE7C66C0,$666060C6,$C630C66C,$62D6CEC6
  92.    DC.L $60C66C0E,$30C638FE,$38303260,$0C183060
  93.    DC.L $003C66C0,$CCFC6078,$66300C78,$30D6CCCC
  94.    DC.L $66CC6678,$60CCCCD6,$38CC3030,$303000F8
  95.    DC.L $18FCDC7E,$C60C606C,$3C1B1818,$301B6CCC
  96.    DC.L $E00EC6C6,$7C06D668,$000C6CFC,$38380010
  97.    DC.W $2000,0
  98.  
  99.    DC.L $0000006C,$FC66CC00,$30306C30,$18003060
  100.    DC.L $CC30CCCC,$0CCCCC30,$CC183018,$0E00E000
  101.    DC.L $C0C66666,$6C666066,$C630C666,$66C6C66C
  102.    DC.L $606C66C6,$30C638EE,$6C306660,$06183020
  103.    DC.L $00CC66CC,$CCC0607C,$66300C6C,$30C6CCCC
  104.    DC.L $7C7C600C,$6CCC786C,$6C786430,$3030000E
  105.    DC.L $1878DC66,$00003C66,$661E1E18,$001E00CC
  106.    DC.L $3EF8C67C,$38066CFE,$000838C0,$0EE0FE00
  107.    DC.W $FF00,0
  108.  
  109.    DC.L $0030006C,$10C67600,$18600000,$180030C0
  110.    DC.L $78FCFC78,$1E787830,$78703018,$00000030
  111.    DC.L $78C6FC3C,$F8FEF03E,$C6FC7CE6,$FEC6C638
  112.    DC.L $F03CE67C,$787C10C6,$C678FE78,$03783000
  113.    DC.L $00763C78,$7678F0C6,$E678CCE6,$78C6CC78
  114.    DC.L $600CF0F8,$3876306C,$C630FC1C,$30E00003
  115.    DC.L $1830767C,$00000000,$C61B18D8,$FC1B0078
  116.    DC.L $00000000,$10FE3860,$00001080,$00000000
  117.    DC.W $3C00,0
  118.  
  119.    DC.L $00000000,$00000000,$00000000,$30000000
  120.    DC.L $00000000,$00000000,$00000030,$00000000
  121.    DC.L $00000000,$00000000,$00000000,$00000000
  122.    DC.L $00060000,$00000000,$00000000,$00000000
  123.    DC.L $00000000,$0000007C,$00007800,$00000000
  124.    DC.L $F00E0000,$00000000,$00E00000,$3000001E
  125.    DC.L $1F0000E0,$00000000,$001E1870,$001B0000
  126.    DC.L $00000000,$00000020,$FF000000,$FEFE0000
  127.    DC.W $0000,0
  128.  
  129. * The macro below demonstrates how to implement a "while" loop using
  130. * recursion.  The loop executes a maximum of about 5000 times.  (This
  131. * could be increased by adding to the number of recursive calls in WHILE2,
  132. * or by adding more calls to WHILE2 inside the toplevel macro WHILE.)
  133. * The statement being repeated can be a macro call, but note that the
  134. * overhead of the WHILE uses 8 levels of nesting, out of the max of 10.
  135.  
  136. WHILE MACRO    first arg is condition (>= 0), second is statement to repeat
  137.    NOLIST  don't clutter listing with all this overhead stuff
  138. NEST SET 2  number of levels of macro call (cannot exceed 10)
  139.    WHILE2 \1,\2
  140.    LIST
  141.    ENDM
  142.  
  143. WHILE2 MACRO
  144.    IFGE \1
  145.    \2
  146.    IFLT NEST-8  never nest deeper than 8, including toplevel call to WHILE
  147. NEST SET NEST+1
  148.    WHILE2 \1,\2
  149.    WHILE2 \1,\2
  150.    WHILE2 \1,\2
  151.    WHILE2 \1,\2
  152. NEST SET NEST-1
  153.    ENDC  (if nest < 8)
  154.    ENDC  (if condition >= 0)
  155.    ENDM
  156.  
  157. CHAR SET FIRSTCHAR  which character comes next
  158.  
  159. LOCS MACRO
  160.    DC.W (CHAR-FIRSTCHAR)*8,8  offset,width
  161. CHAR SET CHAR+1
  162.    ENDM
  163.  
  164. fontLoc:
  165.    WHILE LASTCHAR+1-CHAR,LOCS
  166.  
  167. fontEnd:
  168.    END
  169.